Feature Pyramid Networks for Object Detection (CVPR 2017)
特征金字塔是识别系统中用于检测不同尺度目标的基本组件, 但目前的一些目标检测模型并没有采用这一方案,部分原因是因为这样需要更多的计算资源。
由于卷积网络的结构,只利用一层的feature map会存在一些问题:低层的特征虽然有着高分辨率的,但是语义信息不够完善;高层的特征语义信息比较丰富,但是目标位置比较粗略。同时,有部分的工作利用到了多层的信息,但是这些特征往往被单独的用来直接预测,单层特征的缺陷依然是存在的。
在本文中,我们利用深度卷积网络内在的多尺度、金字塔分级来构造具有很少额外成本的特征金字塔,开发了一个具有横向连接的自上而下体系结构,用于构建各种尺度上的高级语义特征图,称之为FCN,并取得了SOTA的效果。
1. Introduction
CNN网络具有平移不变性(translation-invarient),对于位置变化的适应性还是很强的,但是对尺度变化的表现就会差一些,所以检测问题基本都要考虑尺度怎么处理。下图涵盖了目前很多检测问题在处理物体scale上的思路:
图(b) —— Faster RCNN, 用CNN网络的top层来进行预测,因为top层的语义化程度是最高的。问题在于,CNN网络越top,feature map中的每个单元格的感受野就越大,相对的,就没有浅层那样精细,分辨率就会下降得比较厉害;这个问题在小目标上非常突出
图(c) —— SSD, SSD已经尝试运用了不同层次上的特征,并且没有增加额外的计算量。但作者认为SSD算法中没有用到足够低层的特征(在SSD中,最低层的特征是VGG网络的conv4_3),而在作者看来足够低层的特征对于检测小物体是很有帮助的。
图(d) —— 本文使用的结构,在top层得到了语义化程度比较高的特征后,再不断升采样,然后和CNN网络中那些浅层特征融合,融合后的特征既有较高的语义性,也有较高的分辨率。
2. Related work
略
3. Feature Pyramid Networks
本文的网络框架如下,包含bottom-up pathway, top-down pathway, lateral connections
Bottom-up pathway
CNN网络主干,用于计算出不同尺度上的特征,特征图的大小基本都是2倍的形式缩小,同时特征的语义表达也越来越强。对于大小相同的lays, 将其作为一整个stage, 取其中最后一个层作为后续的基础,因为这一层应当具有最强的特征。
文章使用了ResNet, 由于conv1占用了大量内存,我们就不使用它,我们将每个阶段的最后输出(conv2,conv3,conv4和conv5)表示为{C2, C3, C4, C5},并且与输入图像相比,它们的步长为{4,8,16,32}。
Top-down pathway and lateral connnections
later connection是一个1x1 conv层,可以用来减少通道数、并进行跨通道的信息融合;而top-down则是依次进行了x2的upsample。最顶层则是直接用1x1的卷积层连接起来;另外,在叠加后,还会使用一个3x3的卷积核来消除混叠效应。
对于卷积网络而言,不同的深度对应不同层次的语义特征,浅层feature map的分辨率大,学的更多是细节特征,高层feature map的分辨率小,学到的更多是语义特征,更加抽象难以解释。所以FPN在更大的特征图进行操作,这样对小目标有很好的作用。
FPN本身不是检测算法,只是一个特征提取器。它需要和其他检测算法结合才能使用。在本文作者将其运用到Faster-RCNN中的RPN网络进行验证。